// 导入axios
import axios from 'axios'
// 导入JSONBig
import JSONBig from 'json-bigint'

// 二次封装-设置公共地址
axios.defaults.baseURL = 'http://ttapi.research.itcast.cn' // 旧地址
// axios.defaults.baseURL = 'http://api-toutiao-web.itheima.net/' // 新地址

// 添加请求拦截器
// Add a request interceptor
axios.interceptors.request.use(function (config) {
  // Do something before request is sent - 发送请求前执行
  // 本地有token,就在config中添加上
  const tokenStr = localStorage.getItem('tokenStr')
  if (tokenStr) {
    config.headers.Authorization = `Bearer ${tokenStr}`
  }
  return config
}, function (error) {
  // Do something with request error
  return Promise.reject(error)
})

// 添加响应拦截器
axios.defaults.transformResponse = [function (data) {
  // data是后端返回的数据(字符串)
  // console.log(data)
  try {
    // 有大数, 自动处理
    return JSONBig.parse(data)
  } catch (err) {
    console.log('数据不需要转换,返回原数据', err)
    return data
  }
}]

// 导出axios
export default axios
